﻿<?php
//header( "Content-Type:text/html; charset=utf-8" );
require_once("config.inc.php");
require_once("weibo.class.php");
require_once("db.class.php");
require_once("calendar.php");
set_time_limit(0);
$wb = new weibo(APP_KEY, SECRET_KEY);
$wb->setUser( USER_NAME , USER_PASS );

if( $ms = $wb->mentions() )
{
//	print_r($ms);
	$db = new db($site_Db);
	$ms=array_reverse($ms);
	foreach( $ms as $item )
	{
		//只处理固定格式
		$text = trim($item['text']);
		echo $text;
		preg_match("/^(.+?)\s?@时间助手\s?$/u", $text, $match);
		//print_r($match);
		if(!empty($match[0])) {
			//判断是否已处理
			$max = $db->fetchone("SELECT MAX(cid) AS max FROM mention");
			if( $item['id'] > $max )
			{
				if($db->query("INSERT INTO mention VALUES(null, ".$item['id'].", '".$item['text']."', ".time().", 0)"))
					echo "Add a new mention.";
	
				
				//$text = trim(reset(explode('@时间助手',$text)));
				$schars = explode( "|" , '.|。|,|、|！|？|：|；|`|﹑|?|＂|^|…|‘|’|“|”|〝|〞|~|\|〖|〗|《|》|『|』|【|】|—|(|)|[|]|{|}|﹝|﹞|﹛|﹜|〔|〕|（|）' );
				$text = str_replace( $schars , '' , $match[1] );
				$cmd = explode(' ',$text);
				$type =$cmd[0];
				switch ($type) {
					case "wnl":
						$re=deal_wnl($cmd[1]);
						break;
					default:
						$re='';
				}
				if(!empty($re)) {
					$comment = $re;
				} else {
					$comment = '系统无法执行您的请求，请检查您查询的格式，您查询的内容为：' . $text . '！万年历查询格式：wnl 年/月/日@时间助手，日期示例1：2010/1/1，示例2：2010/01/01，示例3：2010年/1月/1日，示例4：2010年/01月/01日。谢谢您的使用！';
				}
				
				$cr = $wb->send_comment( $item['id'] , $comment );
				print_r($cr);
				if(empty($cr['error_code']))
					echo "deal success.";
			} else {
				echo "No mention deal.";
			}
		} else {
			echo "can't prase";
		}
	}
}

function deal_wnl($datestr) {
	if(!empty($datestr)) {
		preg_match("/^(.+?)\/(.+?)\/(.+?)$/u", $datestr, $date);
	
		if(count($date)==4&&!empty($date[1])&&!empty($date[2])&&!empty($date[3])) {
			$year=intval($date[1]);$month=intval($date[2]);$day=intval($date[3]);
			if(!checkdate($month, $day, $year)) {
				return "您输入的日期信息有误，请检查输入日期。万年历查询格式：wnl 年/月/日@时间助手，日期示例1：2010/1/1，示例2：2010/01/01，示例3：2010年/1月/1日，示例4：2010年/01月/01日。谢谢您的使用！";
			} elseif($year<1600 || $year>2099) {
				return "您输入的年份暂不提供服务，目前仅支持提供公元1600~2099年间的万年历信息。谢谢您的使用！";
			}
		} else {
			return;
		}
	} else {
		$date = date("Y-n-j",time());
		list($year,$month,$day) = explode('-',$date);
	}
	$re = get_Calendar($year,$month,$day);
//echo $re;
	return $year."年".$month."月".$day."日：".$re;
}

function filter_Data($data) {
	$schars = explode( "|" , '.|。|,|、|！|？|：|；|`|﹑|?|＂|^|…|‘|’|“|”|〝|〞|~|\|〖|〗|《|》|『|』|【|】|—|(|)|[|]|{|}|﹝|﹞|﹛|﹜|〔|〕|（|）' );
	return str_replace( $schars , '' , $data );
}
?>